package com.rykj.socket_lib

import com.rykj.socket_lib.callback.UDPSocketCallBack
import com.rykj.socket_lib.entity.*

class SocketLib {

    /**
     * A native method that is implemented by the 'socket_lib' native library,
     * which is packaged with this application.
     */
    external fun stringFromJNI(): String

    companion object {
        // Used to load the 'socket_lib' library on application startup.
        init {
            System.loadLibrary("socket_lib")
        }
    }

    external fun setCallBack(callBack: UDPSocketCallBack)

    external fun Start(ip: String, port: Int)

    external fun Stop()

    external fun QuerySetDev()

    external fun QueryAlgParams(devNo: Char)

    external fun QueryTrackPtzPid()

    external fun PtzMove(type: Int, direction: Int, angle: Short, speed: Int)

    external fun ZoomAction(devNo: Int, direction: Int)

    external fun TrackAction(devNo: Char, box: BoundingBox)

    external fun SetPtzPID(pidInfo: PidInfo, type: Char)

    external fun SetDetectParams(params: DetectParams, devNo: Char)

    external fun SetTrackParams(trackParams: TrackParams, devNo: Char)


}